![]() | EVALUACIÓN JERÁRQUICA DESCENDENTE |
(a b c)
se evalúa en los tiempos abstractos 1, 2 y 3.
(a (u v) b)
, los tiempos abstractos son 1, 2/1, 2/2 y 3.
°
), que introduce un mecanismo de evaluación diferida. Ejemplos:
(x = 3)
(y = 4)
x*y // ev. 12
(z = (x+y)º) // ev. (z = x+y)
(x = 3)
(y = 4)
z // ev. 7
(x = 2)
(x+y+z) // ev. 2+y+z
a+b+c // se autoevalúa
!
(Ejecutar):
( 1…5 ) // rep. 12345
( 1…5 )! // ev. 12345
( 12…99 )\5
(12 13 14 … 99)
, es decir, 16.
~
).
(a=1 b=2)
(ab° = x) // ev. (ab = x)
(ab = 3) // ev. (x = 3) ( no se evalúa como (12 = 3) )
(a=1 b=2)
((a+b)° = x) // ev. (a+b = x)
a+b // ev. x (no se evalúa como 3)
(2^3^4^5)~ // ev. (((5^4)^3)^2)
(f!)★3 // rep. (f! f! f!)
+⊣(a b*c d) // rep. (a + b*c + d)
(a[x y])☆2 // rep. a[x y] a[x y] rep. (ax ay) (ax ay)
3*a+2*b
se interpreta como (3*a + 2)*b
(3*a + 2*b)
hay que inserter blancos separadores.
(u = 88)
(v = 99)
(a = (1 u)↓)
(b = (2 v)↓)
(x = (a b))
x // ev. (1 88 2 99)
Tiempo comp. | Expresión | Semántica |
0 | x | Expresión inicial |
1 | (a b) | Primer nivel de evaluación |
2 | (1 u 2 v) | Segundo nivel de evaluación |
3 | (1 88 2 99) | Expresión final |
Tiempo comp. | Expresión |
0 | x
|
1 | (a b)
|
2 | (1 u b)
|
3 | (1 88 b)
|
4 | (1 88 2 v)
|
5 | (1 88 2 99)
|